Nondrawable objects provide access to the enormous processing power of IDL, but do not provide IDL drawing capabilities. This is useful for applications that need the data manipulation capabilities of IDL, but have no need for, or have independent drawing capabilities.
The following simple example creates an IDL object with a single function method that accepts one argument, and walks through the process of exporting the object using the Export Bridge Assistant. Once the export files are created, a simple Visual Basic .NET console application shows how to access the object method and capture its output.
Complete the following steps to duplicate this example.
; Method returns message based on presence or
; absence of argument.
FUNCTION helloworldex::HelloFrom, who
IF (N_ELEMENTS(who) NE 0) THEN BEGIN
message = "Hello World from " + who
RETURN, message
ENDIF ELSE BEGIN
message = 'Hello World'
RETURN, message
ENDELSE
END
; Init returns object reference on successful
; initialization.
FUNCTION helloworldex::INIT
RETURN, 1
END
; Object definition.
PRO helloworldex__define
struct = { $
helloworldex, $
who: '' , $
message: ' ' $
}
END
Note: It is a good idea to test the functionality of an object before exporting it. After compiling the file, enter the following lines at the command line and make sure the output is what is expected for this object.
ohello = OBJ_NEW("HELLOWORLDEX") PRINT, ohello->HelloFrom()
PRINT, ohello->HelloFrom('Mr. Bill')
Note: Export Bridge Assistant details are available in Specifying Information for Exporting. Refer to that section if you need more information about the following steps.
There is no need to modify the default properties shown in the right-hand property panel, but you can enter different values if desired. Set other export object characteristics as described in the following table. Select the tree view item listed in the left column to configure the related properties in the right column.
|
Tree View Item |
Parameter Configuration |
|---|---|
|
IDL Export Bridge Project |
Accept the default value or make changes as desired:
|
|
helloworldex |
Drawable object equals False |
|
HELLOFROM method |
Output method name — accept the default value, HELLOFROM Return Type — BSTR since this function method returns a string message (as defined in the IDL object definition structure) Array — False since this method returns a single string, not an array Export — True |
|
WHO argument |
Mutability — In since the argument is not passed back to the caller Type — BSTR since this argument is defined as a string in the IDL object definition Array — False Export — True |
The text file for this example, com_export_helloex_doc.txt, is located in the examples/doc/bridges/COM subdirectory of the IDL distribution. This Visual Basic .NET code can be copied from the text file and adopted for use in your COM environment.
After building the solution and starting without debugging, the console window appears with the output messages.